<?php
/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

/**
 * Description of ClientesDao
 *
 * @author Francisco Nieto Zamora
 */
class OfertasDao {
      public function mapearOfertas($tab)
      {
        $lstOfertas = new ArrayList();
        for($i=0;$i<count($tab);$i++)
        {
            $entrada = new BeanOfertas();
            if($tab[$i]['COD_IMAGEN']!=null && $tab[$i]['COD_IMAGEN']!=1 )
            {
                $entrada->setCodImagen($tab[$i]['RUTA']);
            }
            $entrada->setCodOferta($tab[$i]['COD_OFERTA']);
            $entrada->setDescripcion($tab[$i]['DESCRIPCION']);
            $entrada->setFxFin($tab[$i]['FX_FIN']);
            $entrada->setFxInicio($tab[$i]['FX_INICIO']);
            $entrada->setTitulo($tab[$i]['TITULO']);
            $lstOfertas->add($entrada);

        }
        return $lstOfertas;
      }



    public function obtenerOfertasSQL($oferta)
    {
        $sql='SELECT O.*, I.* FROM OFERTAS O, IMAGENES I WHERE '.
            '(O.COD_IMAGEN = I.COD_IMAGEN OR (O.COD_IMAGEN IS NULL AND I.COD_IMAGEN=1))';

        if($oferta->getCodImagen()!=null)
        {
            $sql=$sql." AND O.COD_IMAGEN=".$oferta->getCodImagen();
        }
        if($oferta->getCodOferta()!=null)
        {
            $sql=$sql." AND O.COD_OFERTA=".$oferta->getCodOferta();
        }
        
        if($oferta->getDescripcion()!=null)
        {
            $sql=$sql." AND O.DESCRIPCION='".mysql_real_escape_string($oferta->getDescripcion())."'";
        }
        if($oferta->getFxFin()!=null)
        {
            $sql=$sql." AND O.FX_FIN>=STR_TO_DATE('".$oferta->getFxFin()."','".Constantes::$FORMATO_FECHA."')";
        }
        if($oferta->getFxInicio()!=null)
        {
            $sql=$sql." AND O.FX_INICIO<=STR_TO_DATE('".$oferta->getFxInicio()."','".Constantes::$FORMATO_FECHA."')";
            $sql=$sql." AND O.FX_FIN>=STR_TO_DATE('".$oferta->getFxInicio()."','".Constantes::$FORMATO_FECHA."')";
        }
        if($oferta->getTitulo()!=null)
        {
            $sql=$sql." AND O.TITULO='".mysql_real_escape_string($oferta->getTitulo())."'";
        }

        return $sql;
    }

    public function obtenerOfertas($oferta)
    {
        $sql = $this->obtenerOfertasSQL($oferta);
        $sqlQuery = new SqlQuery($sql);
        $tab=QueryExecutor::execute($sqlQuery);
        $lstOfertas = $this->mapearOfertas($tab);
        return $lstOfertas;
    }
    
}
?>
